
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __org_omg_CORBA_ORB__
#define __org_omg_CORBA_ORB__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace applet
    {
        class Applet;
    }
  }
  namespace org
  {
    namespace omg
    {
      namespace CORBA
      {
          class Any;
          class Context;
          class ContextList;
          class Current;
          class DynAny;
          class DynArray;
          class DynEnum;
          class DynSequence;
          class DynStruct;
          class DynUnion;
          class Environment;
          class ExceptionList;
          class NVList;
          class NamedValue;
          class ORB;
          class Object;
          class Policy;
          class Request;
          class ServiceInformationHolder;
          class StructMember;
          class TCKind;
          class TypeCode;
          class UnionMember;
          class ValueMember;
        namespace portable
        {
            class OutputStream;
        }
      }
    }
  }
}

class org::omg::CORBA::ORB : public ::java::lang::Object
{

public:
  ORB();
  virtual void connect(::org::omg::CORBA::Object *);
  virtual void disconnect(::org::omg::CORBA::Object *);
  virtual ::org::omg::CORBA::TypeCode * create_recursive_sequence_tc(jint, jint) = 0;
  virtual ::org::omg::CORBA::TypeCode * create_alias_tc(::java::lang::String *, ::java::lang::String *, ::org::omg::CORBA::TypeCode *) = 0;
  virtual ::org::omg::CORBA::Any * create_any() = 0;
  virtual ::org::omg::CORBA::TypeCode * create_array_tc(jint, ::org::omg::CORBA::TypeCode *) = 0;
  virtual ::org::omg::CORBA::ContextList * create_context_list() = 0;
  virtual ::org::omg::CORBA::DynAny * create_basic_dyn_any(::org::omg::CORBA::TypeCode *);
  virtual ::org::omg::CORBA::DynAny * create_dyn_any(::org::omg::CORBA::Any *);
  virtual ::org::omg::CORBA::DynArray * create_dyn_array(::org::omg::CORBA::TypeCode *);
  virtual ::org::omg::CORBA::DynEnum * create_dyn_enum(::org::omg::CORBA::TypeCode *);
  virtual ::org::omg::CORBA::DynSequence * create_dyn_sequence(::org::omg::CORBA::TypeCode *);
  virtual ::org::omg::CORBA::DynStruct * create_dyn_struct(::org::omg::CORBA::TypeCode *);
  virtual ::org::omg::CORBA::DynUnion * create_dyn_union(::org::omg::CORBA::TypeCode *);
  virtual ::org::omg::CORBA::TypeCode * create_enum_tc(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *) = 0;
  virtual ::org::omg::CORBA::Environment * create_environment() = 0;
  virtual ::org::omg::CORBA::ExceptionList * create_exception_list() = 0;
  virtual ::org::omg::CORBA::TypeCode * create_exception_tc(::java::lang::String *, ::java::lang::String *, JArray< ::org::omg::CORBA::StructMember * > *) = 0;
  virtual ::org::omg::CORBA::TypeCode * create_fixed_tc(jshort, jshort);
  virtual ::org::omg::CORBA::TypeCode * create_interface_tc(::java::lang::String *, ::java::lang::String *) = 0;
  virtual ::org::omg::CORBA::NVList * create_list(jint) = 0;
  virtual ::org::omg::CORBA::NamedValue * create_named_value(::java::lang::String *, ::org::omg::CORBA::Any *, jint) = 0;
  virtual void send_multiple_requests_oneway(JArray< ::org::omg::CORBA::Request * > *) = 0;
  virtual void send_multiple_requests_deferred(JArray< ::org::omg::CORBA::Request * > *) = 0;
  virtual jboolean poll_next_response() = 0;
  virtual ::org::omg::CORBA::Request * get_next_response() = 0;
  virtual ::org::omg::CORBA::portable::OutputStream * create_output_stream() = 0;
  virtual ::org::omg::CORBA::NVList * create_operation_list(::org::omg::CORBA::Object *);
  virtual ::org::omg::CORBA::Policy * create_policy(jint, ::org::omg::CORBA::Any *);
  virtual ::org::omg::CORBA::TypeCode * create_sequence_tc(jint, ::org::omg::CORBA::TypeCode *) = 0;
  virtual ::org::omg::CORBA::TypeCode * create_string_tc(jint) = 0;
  virtual ::org::omg::CORBA::TypeCode * create_struct_tc(::java::lang::String *, ::java::lang::String *, JArray< ::org::omg::CORBA::StructMember * > *) = 0;
  virtual ::org::omg::CORBA::TypeCode * create_union_tc(::java::lang::String *, ::java::lang::String *, ::org::omg::CORBA::TypeCode *, JArray< ::org::omg::CORBA::UnionMember * > *) = 0;
  virtual ::org::omg::CORBA::TypeCode * create_wstring_tc(jint) = 0;
  virtual ::org::omg::CORBA::TypeCode * create_abstract_interface_tc(::java::lang::String *, ::java::lang::String *);
  virtual ::org::omg::CORBA::TypeCode * create_native_tc(::java::lang::String *, ::java::lang::String *);
  virtual ::org::omg::CORBA::TypeCode * create_recursive_tc(::java::lang::String *);
  virtual ::org::omg::CORBA::TypeCode * create_value_box_tc(::java::lang::String *, ::java::lang::String *, ::org::omg::CORBA::TypeCode *);
  virtual ::org::omg::CORBA::TypeCode * create_value_tc(::java::lang::String *, ::java::lang::String *, jshort, ::org::omg::CORBA::TypeCode *, JArray< ::org::omg::CORBA::ValueMember * > *);
  virtual ::org::omg::CORBA::Current * get_current();
  virtual jboolean get_service_information(jshort, ::org::omg::CORBA::ServiceInformationHolder *);
  virtual ::org::omg::CORBA::Context * get_default_context() = 0;
  virtual ::org::omg::CORBA::TypeCode * get_primitive_tc(::org::omg::CORBA::TCKind *) = 0;
  static ::org::omg::CORBA::ORB * init();
  static ::org::omg::CORBA::ORB * init(::java::applet::Applet *, ::java::util::Properties *);
  static ::org::omg::CORBA::ORB * init(JArray< ::java::lang::String * > *, ::java::util::Properties *);
  virtual JArray< ::java::lang::String * > * list_initial_services() = 0;
  virtual ::org::omg::CORBA::Object * resolve_initial_references(::java::lang::String *) = 0;
  virtual ::java::lang::String * object_to_string(::org::omg::CORBA::Object *) = 0;
  virtual void perform_work();
  virtual jboolean work_pending();
  virtual ::org::omg::CORBA::Object * string_to_object(::java::lang::String *) = 0;
  virtual void run();
  virtual void shutdown(jboolean);
  virtual void destroy();
public: // actually protected
  virtual void set_parameters(JArray< ::java::lang::String * > *, ::java::util::Properties *) = 0;
  virtual void set_parameters(::java::applet::Applet *, ::java::util::Properties *) = 0;
private:
  static ::java::lang::String * getCumulatedProperty(::java::util::Properties *, ::java::lang::String *);
  static ::java::lang::String * checkFile(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  static ::org::omg::CORBA::ORB * createORB(::java::util::Properties *, ::java::lang::String *);
  static void noORB(::java::lang::String *, ::java::lang::Throwable *);
  static ::java::lang::String * FUNCTIONAL_ORB;
  static ::java::lang::String * RESTRICTED_ORB;
  static ::java::lang::String * LISTENER_PORT;
  static ::java::lang::String * DEFAULT_FUNCTIONAL_ORB;
  static ::java::lang::String * DEFAULT_FOCUSED_ORB;
public:
  static ::java::lang::Class class$;
};

#endif // __org_omg_CORBA_ORB__
